// pages/voice/voice.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tempFilePath: '',
    voicepath: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  //开始录音
  startrecord: function () {
    var that = this
    wx.startRecord({
      success: function (res) {
        console.log(res)
        that.setData({
          tempFilePath: res.tempFilePath
        })
      },
      fail: function (res) {
        console.log("录音错误！")
      }
    })
  },

  //结束录音
  stoprecord: function () {
    console.log("结束录音")
    wx.stopRecord()
  },

  //播放录音
  playvoice: function () {
    var that = this
    if (that.data.tempFilePath != '') {
      wx.playVoice({
        filePath: that.data.tempFilePath,
        duration: 30,
        success: function (res) {
          console.log(res)
          console.log("播放结束")
        },
        fail: function (res) {
          console.log("播放失败")
        },
        complete: function (res) { },
      })
    }
    else
      console.log("没有可播放的音频")
  },

  // 上传语音
  uploadvoice: function () {
    var that = this
    wx.showToast({
      icon: "loading",
      title: "正在上传"
    })
    if (that.data.tempFilePath != '') {
      wx.uploadFile({
        url: 'https://weixin.dingzhuobo.com/common/upload',//upload接口
        filePath: that.data.tempFilePath,
        name: 'file',//文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
        header: { "Content-Type": "multipart/form-data" },//HTTP 请求 Header, header 中不能设置 Referer
        formData: {//HTTP 请求中其他额外的 form data
          //和服务器约定的token, 一般也可以放在header中
          'session_token': wx.getStorageSync('session_token')
        },
        success: function (res) {
          var path = 'https://weixin.dingzhuobo.com/' + JSON.parse(res.data).data[0];
          console.log(res);
          that.setData({
            voicepath: path
          })
          if (res.statusCode != 200) {
            wx.showModal({
              title: '提示',
              content: '上传失败',
              showCancel: false
            })
            return;
          }
          else {
            wx.showModal({
              title: '提示',
              content: '上传成功',
              showCancel: false
            })
            return;
          }
          var data = res.data
          // page.setData({  //上传成功修改显示头像
          //   // src: path[0]
          // })
        },
        fail: function (e) {
          console.log(e);
          wx.showModal({
            title: '提示',
            content: '上传失败',
            showCancel: false
          })
        },
        complete: function () {
          wx.hideToast();  //隐藏Toast
        }
      })
    }
    else
    console.log('请先录音！')
  },


  //播放服务器语音
  playuploadvoice: function () {
    var that = this
    console.log(that.data.voicepath)
    if (that.data.voicepath != '') {
      wx.playVoice({
        filePath: that.data.voicepath,
        duration: 30,
        success: function (res) {
          console.log(res)
          console.log("播放结束")
        },
        fail: function (res) {
          console.log("播放失败")
        },
        complete: function (res) { },
      })
    }
    else
      console.log("没有找到服务器音频")
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})